<script>
  import {
    getAllUrlParams,
    isArray
  } from '@/utils/util'
  import store from '@/store'
  import {
    checkLogin
  } from '@/core/app'
  export default {

    /**
     * 全局变量
     */
    globalData: {

    },

    /**
     * 初始化完成时触发
     */
    onLaunch() {
      // #ifdef MP-WEIXIN
      // 小程序主动更新
      this.updateManager()
      // #endif
      // #ifdef H5
      this.h5login()
      // #endif
    },

    methods: {

      /**
       * 小程序主动更新
       */
      updateManager() {
        const updateManager = uni.getUpdateManager();
        updateManager.onCheckForUpdate(res => {
          // 请求完新版本信息的回调
          // console.log(res.hasUpdate)
        })
        updateManager.onUpdateReady(() => {
          uni.showModal({
            title: '更新提示',
            content: '新版本已经准备好，即将重启应用',
            confirmColor: '#00AF4E',
            showCancel: false,
            success(res) {
              if (res.confirm) {
                // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                updateManager.applyUpdate()
              }
            }
          })
        })
        updateManager.onUpdateFailed(() => {
          // 新的版本下载失败
          uni.showModal({
            title: '更新提示',
            content: '新版本下载失败',
            showCancel: false,
            confirmColor: '#00AF4E',
          })
        })
      },
      async h5login() {
        const app = this
        if (checkLogin()) {
          app.$navTo('pages/user/index')
        }
        let code = getAllUrlParams().code
        if (isArray(code)) {
          code = code[0]
        }
        console.log(code)
        if (code != undefined) {
          // 提交到后端
          store.dispatch('LoginWx', {
              partyData: {
                code
              }
            })
            .then(result => {
              console.log(result)
              // 一键登录成功
              app.$toast('登录成功！')
              app.$navTo('pages/user/index')
            }).catch(err => {
              app.$navTo('pages/index/error')
            })
        }
      }
    }
  }
</script>

<style lang="scss">
  /* 引入uView库样式 */
  @import "./uview-ui/index.scss";
</style>

<style>
  /* 项目基础样式 */
  @import "./app.scss";

  .uni-app--showlayout+uni-tabbar.uni-tabbar-bottom,
  .uni-app--showlayout+uni-tabbar.uni-tabbar-bottom .uni-tabbar,
  .uni-app--showlayout+uni-tabbar.uni-tabbar-top,
  .uni-app--showlayout+uni-tabbar.uni-tabbar-top .uni-tabbar {
    left: var(--window-left);
    right: var(--window-right);
  }
</style>